﻿using System;

namespace BizElements.Core
{
    /// <summary>
    /// Supported SqlItem types.
    /// </summary>
    [Serializable]
    public enum SqlItemType
    {
        #region Enumeration.

        /// <summary>
        /// DB column/field. Object implements <see cref="IDbColumn"/> interface.
        /// </summary>
        Column,

        /// <summary>
        /// Any expression. Object is a <see cref="System.String"/>.
        /// </summary>
        FreeText,

        /// <summary>
        /// Function. Object is an instance of <see cref="Function"/> or derived class.
        /// </summary>
        Function,

        /// <summary>
        /// SQL parameter. Object is an instance of <see cref="DbParameter"/> class.
        /// </summary>
        Parameter,

        /// <summary>
        /// Query. Object is an instance of <see cref="SelectStatement"/> class.
        /// </summary>
        SubQuery

        #endregion
    }
}